package cn.com.headfree.vo.simple;

import cn.com.headfree.util.SysDictionaryUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang.StringUtils;

import java.text.SimpleDateFormat;
import java.util.Date;

public class ExpertTitleInfoVo {

    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    /**
     * erp编号
     */
    private String erpNo;
    /**
     * 身份证号
     */
    private String idCardNo;
    /**
     * 专业
     */
    private String major;
    /**
     * 取得时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date acquTime;

    private String acquTimeStr;

    /**
     * 等级名称
     */
    private String levelName;
    /**
     * 类别
     */
    private String type;
    /**
     * 聘期开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date empTermStart;

    private String empTermStartStr;

    /**
     * 聘期结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date empTermEnd;

    private String empTermEndStr;

    /**
     * 创建者id
     */
    private String createrId;
    /**
     * 创建者姓名
     */
    private String createrName;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;
    /**
     * 更新者id
     */
    private String updaterId;
    /**
     * 更新者姓名
     */
    private String updaterName;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;
    /**
     * 0:未删除1：已删除
     */
    private Integer delSign;
    /**
     * 是否有效数据(0:有效，1:无效)
     */
    private Integer isValid;
    /**
     * 审核状态
     */
    private Integer auditState;

    /**
     * 姓名
     */
    private String userName;

    /**
     * 专家人才名称
     */
    private String empTitle;

    private String id;

    public String getAcquTimeStr() {
        return acquTimeStr;
    }

    public void setAcquTimeStr(String acquTimeStr) {
        if (StringUtils.isNotBlank(acquTimeStr)) {
            this.acquTimeStr = acquTimeStr.split(" ")[0];
        } else {
            this.acquTimeStr = acquTimeStr;
        }
    }

    public String getEmpTermStartStr() {
        return empTermStartStr;
    }

    public void setEmpTermStartStr(String empTermStartStr) {
        if (StringUtils.isNotBlank(empTermStartStr)) {
            this.empTermStartStr = empTermStartStr.split(" ")[0];
        } else {
            this.empTermStartStr = empTermStartStr;
        }
    }

    public String getEmpTermEndStr() {
        return empTermEndStr;
    }

    public void setEmpTermEndStr(String empTermEndStr) {
        if (StringUtils.isNotBlank(empTermEndStr)) {
            this.empTermEndStr = empTermEndStr.split(" ")[0];
        } else {
            this.empTermEndStr = empTermEndStr;
        }
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getEmpTitle() {
        return empTitle;
    }

    public void setEmpTitle(String empTitle) {
        this.empTitle = empTitle;
//        this.empTitle = SysDictionaryUtil.getNameByValue("TalentTitle",empTitle);;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getErpNo() {
        return erpNo;
    }

    public void setErpNo(String erpNo) {
        this.erpNo = erpNo;
    }

    public String getIdCardNo() {
        return idCardNo;
    }

    public void setIdCardNo(String idCardNo) {
        this.idCardNo = idCardNo;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
//        this.major = SysDictionaryUtil.getNameByValue("ProWorkTypes",major);;
    }

    public Date getAcquTime() {
        return acquTime;
    }

    public void setAcquTime(Date acquTime) {
        this.acquTime = acquTime;
        if (acquTime!=null){
            this.acquTimeStr=sdf.format(acquTime).split(" ")[0];
        }
    }

    public String getLevelName() {
        return levelName;
    }

    public void setLevelName(String levelName) {
        this.levelName = levelName;
//        this.levelName = SysDictionaryUtil.getNameByValue("ExpertLevel",levelName);;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
//        this.type = this.levelName = SysDictionaryUtil.getNameByValue("ExpertCategory",type);;;
    }

    public Date getEmpTermStart() {
        return empTermStart;
    }

    public void setEmpTermStart(Date empTermStart) {
        this.empTermStart = empTermStart;
        if (empTermStart!=null){
            this.empTermStartStr=sdf.format(empTermStart).split(" ")[0];
        }
    }

    public Date getEmpTermEnd() {
        return empTermEnd;
    }

    public void setEmpTermEnd(Date empTermEnd) {
        this.empTermEnd = empTermEnd;
        if (empTermEnd!=null){
            this.empTermEndStr=sdf.format(empTermEnd).split(" ")[0];
        }
    }

    public String getCreaterId() {
        return createrId;
    }

    public void setCreaterId(String createrId) {
        this.createrId = createrId;
    }

    public String getCreaterName() {
        return createrName;
    }

    public void setCreaterName(String createrName) {
        this.createrName = createrName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdaterId() {
        return updaterId;
    }

    public void setUpdaterId(String updaterId) {
        this.updaterId = updaterId;
    }

    public String getUpdaterName() {
        return updaterName;
    }

    public void setUpdaterName(String updaterName) {
        this.updaterName = updaterName;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getDelSign() {
        return delSign;
    }

    public void setDelSign(Integer delSign) {
        this.delSign = delSign;
    }

    public Integer getIsValid() {
        return isValid;
    }

    public void setIsValid(Integer isValid) {
        this.isValid = isValid;
    }

    public Integer getAuditState() {
        return auditState;
    }

    public void setAuditState(Integer auditState) {
        this.auditState = auditState;
    }
}
